package com.briup.pts.entity;

import java.util.ArrayList;
import java.util.List;

public class ManagerFreezerExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    private Boolean forUpdate;

    public ManagerFreezerExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    public void setForUpdate(Boolean forUpdate) {
        this.forUpdate = forUpdate;
    }

    public Boolean getForUpdate() {
        return forUpdate;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andFzIdIsNull() {
            addCriterion("fz_id is null");
            return (Criteria) this;
        }

        public Criteria andFzIdIsNotNull() {
            addCriterion("fz_id is not null");
            return (Criteria) this;
        }

        public Criteria andFzIdEqualTo(Integer value) {
            addCriterion("fz_id =", value, "fzId");
            return (Criteria) this;
        }

        public Criteria andFzIdNotEqualTo(Integer value) {
            addCriterion("fz_id <>", value, "fzId");
            return (Criteria) this;
        }

        public Criteria andFzIdGreaterThan(Integer value) {
            addCriterion("fz_id >", value, "fzId");
            return (Criteria) this;
        }

        public Criteria andFzIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("fz_id >=", value, "fzId");
            return (Criteria) this;
        }

        public Criteria andFzIdLessThan(Integer value) {
            addCriterion("fz_id <", value, "fzId");
            return (Criteria) this;
        }

        public Criteria andFzIdLessThanOrEqualTo(Integer value) {
            addCriterion("fz_id <=", value, "fzId");
            return (Criteria) this;
        }

        public Criteria andFzIdIn(List<Integer> values) {
            addCriterion("fz_id in", values, "fzId");
            return (Criteria) this;
        }

        public Criteria andFzIdNotIn(List<Integer> values) {
            addCriterion("fz_id not in", values, "fzId");
            return (Criteria) this;
        }

        public Criteria andFzIdBetween(Integer value1, Integer value2) {
            addCriterion("fz_id between", value1, value2, "fzId");
            return (Criteria) this;
        }

        public Criteria andFzIdNotBetween(Integer value1, Integer value2) {
            addCriterion("fz_id not between", value1, value2, "fzId");
            return (Criteria) this;
        }

        public Criteria andFzNameIsNull() {
            addCriterion("fz_name is null");
            return (Criteria) this;
        }

        public Criteria andFzNameIsNotNull() {
            addCriterion("fz_name is not null");
            return (Criteria) this;
        }

        public Criteria andFzNameEqualTo(String value) {
            addCriterion("fz_name =", value, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameNotEqualTo(String value) {
            addCriterion("fz_name <>", value, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameGreaterThan(String value) {
            addCriterion("fz_name >", value, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameGreaterThanOrEqualTo(String value) {
            addCriterion("fz_name >=", value, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameLessThan(String value) {
            addCriterion("fz_name <", value, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameLessThanOrEqualTo(String value) {
            addCriterion("fz_name <=", value, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameLike(String value) {
            addCriterion("fz_name like", value, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameNotLike(String value) {
            addCriterion("fz_name not like", value, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameIn(List<String> values) {
            addCriterion("fz_name in", values, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameNotIn(List<String> values) {
            addCriterion("fz_name not in", values, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameBetween(String value1, String value2) {
            addCriterion("fz_name between", value1, value2, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNameNotBetween(String value1, String value2) {
            addCriterion("fz_name not between", value1, value2, "fzName");
            return (Criteria) this;
        }

        public Criteria andFzNumIsNull() {
            addCriterion("fz_num is null");
            return (Criteria) this;
        }

        public Criteria andFzNumIsNotNull() {
            addCriterion("fz_num is not null");
            return (Criteria) this;
        }

        public Criteria andFzNumEqualTo(Integer value) {
            addCriterion("fz_num =", value, "fzNum");
            return (Criteria) this;
        }

        public Criteria andFzNumNotEqualTo(Integer value) {
            addCriterion("fz_num <>", value, "fzNum");
            return (Criteria) this;
        }

        public Criteria andFzNumGreaterThan(Integer value) {
            addCriterion("fz_num >", value, "fzNum");
            return (Criteria) this;
        }

        public Criteria andFzNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("fz_num >=", value, "fzNum");
            return (Criteria) this;
        }

        public Criteria andFzNumLessThan(Integer value) {
            addCriterion("fz_num <", value, "fzNum");
            return (Criteria) this;
        }

        public Criteria andFzNumLessThanOrEqualTo(Integer value) {
            addCriterion("fz_num <=", value, "fzNum");
            return (Criteria) this;
        }

        public Criteria andFzNumIn(List<Integer> values) {
            addCriterion("fz_num in", values, "fzNum");
            return (Criteria) this;
        }

        public Criteria andFzNumNotIn(List<Integer> values) {
            addCriterion("fz_num not in", values, "fzNum");
            return (Criteria) this;
        }

        public Criteria andFzNumBetween(Integer value1, Integer value2) {
            addCriterion("fz_num between", value1, value2, "fzNum");
            return (Criteria) this;
        }

        public Criteria andFzNumNotBetween(Integer value1, Integer value2) {
            addCriterion("fz_num not between", value1, value2, "fzNum");
            return (Criteria) this;
        }

        public Criteria andFzAreaIsNull() {
            addCriterion("fz_area is null");
            return (Criteria) this;
        }

        public Criteria andFzAreaIsNotNull() {
            addCriterion("fz_area is not null");
            return (Criteria) this;
        }

        public Criteria andFzAreaEqualTo(String value) {
            addCriterion("fz_area =", value, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaNotEqualTo(String value) {
            addCriterion("fz_area <>", value, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaGreaterThan(String value) {
            addCriterion("fz_area >", value, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaGreaterThanOrEqualTo(String value) {
            addCriterion("fz_area >=", value, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaLessThan(String value) {
            addCriterion("fz_area <", value, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaLessThanOrEqualTo(String value) {
            addCriterion("fz_area <=", value, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaLike(String value) {
            addCriterion("fz_area like", value, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaNotLike(String value) {
            addCriterion("fz_area not like", value, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaIn(List<String> values) {
            addCriterion("fz_area in", values, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaNotIn(List<String> values) {
            addCriterion("fz_area not in", values, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaBetween(String value1, String value2) {
            addCriterion("fz_area between", value1, value2, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzAreaNotBetween(String value1, String value2) {
            addCriterion("fz_area not between", value1, value2, "fzArea");
            return (Criteria) this;
        }

        public Criteria andFzQuantityIsNull() {
            addCriterion("fz_quantity is null");
            return (Criteria) this;
        }

        public Criteria andFzQuantityIsNotNull() {
            addCriterion("fz_quantity is not null");
            return (Criteria) this;
        }

        public Criteria andFzQuantityEqualTo(Integer value) {
            addCriterion("fz_quantity =", value, "fzQuantity");
            return (Criteria) this;
        }

        public Criteria andFzQuantityNotEqualTo(Integer value) {
            addCriterion("fz_quantity <>", value, "fzQuantity");
            return (Criteria) this;
        }

        public Criteria andFzQuantityGreaterThan(Integer value) {
            addCriterion("fz_quantity >", value, "fzQuantity");
            return (Criteria) this;
        }

        public Criteria andFzQuantityGreaterThanOrEqualTo(Integer value) {
            addCriterion("fz_quantity >=", value, "fzQuantity");
            return (Criteria) this;
        }

        public Criteria andFzQuantityLessThan(Integer value) {
            addCriterion("fz_quantity <", value, "fzQuantity");
            return (Criteria) this;
        }

        public Criteria andFzQuantityLessThanOrEqualTo(Integer value) {
            addCriterion("fz_quantity <=", value, "fzQuantity");
            return (Criteria) this;
        }

        public Criteria andFzQuantityIn(List<Integer> values) {
            addCriterion("fz_quantity in", values, "fzQuantity");
            return (Criteria) this;
        }

        public Criteria andFzQuantityNotIn(List<Integer> values) {
            addCriterion("fz_quantity not in", values, "fzQuantity");
            return (Criteria) this;
        }

        public Criteria andFzQuantityBetween(Integer value1, Integer value2) {
            addCriterion("fz_quantity between", value1, value2, "fzQuantity");
            return (Criteria) this;
        }

        public Criteria andFzQuantityNotBetween(Integer value1, Integer value2) {
            addCriterion("fz_quantity not between", value1, value2, "fzQuantity");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureIsNull() {
            addCriterion("fz_temperature is null");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureIsNotNull() {
            addCriterion("fz_temperature is not null");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureEqualTo(String value) {
            addCriterion("fz_temperature =", value, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureNotEqualTo(String value) {
            addCriterion("fz_temperature <>", value, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureGreaterThan(String value) {
            addCriterion("fz_temperature >", value, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureGreaterThanOrEqualTo(String value) {
            addCriterion("fz_temperature >=", value, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureLessThan(String value) {
            addCriterion("fz_temperature <", value, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureLessThanOrEqualTo(String value) {
            addCriterion("fz_temperature <=", value, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureLike(String value) {
            addCriterion("fz_temperature like", value, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureNotLike(String value) {
            addCriterion("fz_temperature not like", value, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureIn(List<String> values) {
            addCriterion("fz_temperature in", values, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureNotIn(List<String> values) {
            addCriterion("fz_temperature not in", values, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureBetween(String value1, String value2) {
            addCriterion("fz_temperature between", value1, value2, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzTemperatureNotBetween(String value1, String value2) {
            addCriterion("fz_temperature not between", value1, value2, "fzTemperature");
            return (Criteria) this;
        }

        public Criteria andFzHumidityIsNull() {
            addCriterion("fz_humidity is null");
            return (Criteria) this;
        }

        public Criteria andFzHumidityIsNotNull() {
            addCriterion("fz_humidity is not null");
            return (Criteria) this;
        }

        public Criteria andFzHumidityEqualTo(String value) {
            addCriterion("fz_humidity =", value, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityNotEqualTo(String value) {
            addCriterion("fz_humidity <>", value, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityGreaterThan(String value) {
            addCriterion("fz_humidity >", value, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityGreaterThanOrEqualTo(String value) {
            addCriterion("fz_humidity >=", value, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityLessThan(String value) {
            addCriterion("fz_humidity <", value, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityLessThanOrEqualTo(String value) {
            addCriterion("fz_humidity <=", value, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityLike(String value) {
            addCriterion("fz_humidity like", value, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityNotLike(String value) {
            addCriterion("fz_humidity not like", value, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityIn(List<String> values) {
            addCriterion("fz_humidity in", values, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityNotIn(List<String> values) {
            addCriterion("fz_humidity not in", values, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityBetween(String value1, String value2) {
            addCriterion("fz_humidity between", value1, value2, "fzHumidity");
            return (Criteria) this;
        }

        public Criteria andFzHumidityNotBetween(String value1, String value2) {
            addCriterion("fz_humidity not between", value1, value2, "fzHumidity");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}